function testDecorator () {
  return function<T extends new (...args: any[]) => any > (constructor: T){
    return class extends constructor {
      name = 'shawn';
      getName () {
        return this.name;
      }
    }
  }
}
